Fork me on GitHub

SpringMVC组件分析

注意:所有文章除特别说明外,转载请注明出处.

第11章 SpringMVC组件分析

11.1 HandlerMapping

它的作用是根据request找到相应的处理器Handler和Interceptors。在HandlerMapping接口中只有一个方法:HandlerExceptionChain getHandler(HttpServletRequest request);

11.2 HandlerAdapter

HandlerAdapter理解为干活的人。在它里面有三个方法:1.supports(Object handler),判断是否可以使用某个Handler。2.handle()方法是用来具体使用Handler干活。3.getLastModified()方法是获取最后一个修改的时间。

11.3 HandlerExceptionResolver

在SpringMVC中专门处理异常情况的。此组件的作用是根据异常设置ModelAndView,然后交给render()方法进行渲染。render负责将ModelAndView渲染成页面。该组件HandlerExceptionResolver结构中只有一个方法,只需要从异常中解析出ModelAndView。

11.4 ViewResolver

该组件是将String类型视图名和Locale解析成View类型的视图。ViewResolver接口只有一个方法:View resolveViewName(String viewName, Locale locale);

最常使用的UrlBasedViewResolver系列解析器都是针对单一视图类型进行解析,比如:InternalResourceViewResolver只针对jsp类型视图。FreeMarkerViewResolver只针对FreeMarker视图。

11.5 RequestToViewNameTranslator

11.6 LocaleResolver

在解析视图的时候需要两个参数:视图名和Locale。视图名是处理器返回的。Locale是LocaleResolver从request中解析出来的locale。locale表示一个区域,有了这个就可以对不同区域的用户显示不同的结果。该接口中主要有两个方法:Locale resolveLocale(HttpServletRequest request); setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale);

11.7 ThemeResolver

该组件是用来解析主题。

11.8 MultipartResolver

该组件用于处理上传请求,处理方法是将普通的request包装成MultipartHttpServletRequest。该组件中有三个方法:1.isMultipart(HttpServletRequest request):判断是否是上传请求。2.MultipartHttpServletRequest resolveMultipart(HttpServletRequest request):将request包装成MultipartHttpServletRequest。3.cleanupMultipart(MultipartHttpServletRequest request):清理上传过程中产生的临时资源。

11.9 FlashMapManager

本文标题:SpringMVC组件分析

文章作者:Bangjin-Hu

发布时间:2019年10月15日 - 09:22:26

最后更新:2020年03月30日 - 08:15:59

原始链接:http://bangjinhu.github.io/undefined/第11章 组件概览/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Bangjin-Hu wechat
欢迎扫码关注微信公众号,订阅我的微信公众号.
坚持原创技术分享,您的支持是我创作的动力.